<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="lVRaC" id="lVRaC"><span data-lake-id="u1c10a3ba" id="u1c10a3ba">面试者背景</span></h1>
  <p data-lake-id="ua7be22c0" id="ua7be22c0"><br></p>
  <p data-lake-id="u9d5d45e6" id="u9d5d45e6"><span data-lake-id="u8afae27b" id="u8afae27b">普本，3年经验，IOT项目，微服务+大数据，SSM，redis，kafka，go，flink，实时分析，数据过滤，自定义规则，责任链模式</span></p>
  <p data-lake-id="u985ab7b2" id="u985ab7b2"><span data-lake-id="u6be60ee1" id="u6be60ee1">​</span><br></p>
  <h2 data-lake-id="Fu8jU" id="Fu8jU"><span data-lake-id="u0b9bc7ee" id="u0b9bc7ee">面试过程</span></h2>
  <p data-lake-id="ua6a387a6" id="ua6a387a6"><span data-lake-id="ua639b966" id="ua639b966">​</span><br></p>
  <blockquote data-lake-id="u9afe6761" id="u9afe6761" class="lake-alert lake-alert-warning">
   <p data-lake-id="ue066a78f" id="ue066a78f"><span data-lake-id="u2538ba0f" id="u2538ba0f">责任链模式的好处是什么？都哪些场景可以用责任链？</span></p>
   <p data-lake-id="ua5e11778" id="ua5e11778"><span data-lake-id="ua67efc45" id="ua67efc45">开通的分布式一致性怎么保障的？最大努力通知。如果超时的情况如何兼容？</span></p>
   <p data-lake-id="u8468671e" id="u8468671e"><span data-lake-id="u6fce5487" id="u6fce5487">重试是如何实现的？</span><span data-lake-id="u0a3a93e8" id="u0a3a93e8">sleep</span><span data-lake-id="u629bb41d" id="u629bb41d">？这个过程应用重启了怎么办？</span></p>
   <p data-lake-id="u72f9973d" id="u72f9973d"><span data-lake-id="u022b8604" id="u022b8604">除了</span><span data-lake-id="u0c9f55be" id="u0c9f55be">Sleep</span><span data-lake-id="u0a968ce7" id="u0a968ce7">还有其他方案吗？回滚操作调失败了怎么办？下游系统失败的原因可能是什么？失败人工介入？</span></p>
   <p data-lake-id="u99d904c5" id="u99d904c5"><span data-lake-id="u5ee8fe14" id="u5ee8fe14">最大努力通知为啥不用</span><span data-lake-id="ua6703dfd" id="ua6703dfd">MQ</span><span data-lake-id="u83be3b8c" id="u83be3b8c">？遇到什么问题会考虑用</span><span data-lake-id="ud65ad1f1" id="ud65ad1f1">MQ</span><span data-lake-id="u6d8c00dd" id="u6d8c00dd">？作用？异步、削峰、解耦。</span></p>
   <p data-lake-id="u7289468b" id="u7289468b"><span data-lake-id="u9481f27b" id="u9481f27b">MQ</span><span data-lake-id="uc1c2be52" id="uc1c2be52">是如何实现的削峰填谷？消息投递数量会不会超过消费者的消费能力，</span><span data-lake-id="uaa667275" id="uaa667275">pull</span><span data-lake-id="uda303536" id="uda303536">，</span><span data-lake-id="u74107b88" id="u74107b88">push</span><span data-lake-id="ue456f508" id="ue456f508">？</span></p>
   <p data-lake-id="uccc7f862" id="uccc7f862"><span data-lake-id="uee1555b5" id="uee1555b5">Pull</span><span data-lake-id="u64bd2cf5" id="u64bd2cf5">对</span><span data-lake-id="u7160697b" id="u7160697b">MQ</span><span data-lake-id="u38eae48c" id="u38eae48c">造成压力怎么办？拉的很慢消息堆积了怎么办？堆积之后如何解决？增加消费者、</span></p>
   <p data-lake-id="uc3791500" id="uc3791500"><span data-lake-id="ua0e2231a" id="ua0e2231a">Kafka</span><span data-lake-id="u7f9b1f41" id="u7f9b1f41">的重平衡问题介绍下？重平衡的过程是怎么样？重平衡过程的问题有哪些？</span><span data-lake-id="ue3733e0e" id="ue3733e0e">STW</span><span data-lake-id="u0613196a" id="u0613196a">，重复消费。</span></p>
   <p data-lake-id="ub094f9df" id="ub094f9df"><span data-lake-id="u2ce45ce8" id="u2ce45ce8">如何避免重复消费对业务造成影响？</span></p>
   <p data-lake-id="ue127ddab" id="ue127ddab"><span data-lake-id="u7baa98c1" id="u7baa98c1">Kafka</span><span data-lake-id="u87cebae7" id="u87cebae7">的消费者可能有哪些状态？</span><span data-lake-id="u4d75303a" id="u4d75303a">kafka</span><span data-lake-id="u0cb5a65a" id="u0cb5a65a">的高水位是什么？</span><span data-lake-id="ub2c24ade" id="ub2c24ade">LEO</span></p>
   <p data-lake-id="u7a567666" id="u7a567666"><span data-lake-id="ub0f4f576" id="ub0f4f576">一句话总结</span><span data-lake-id="ue64e2c66" id="ue64e2c66">HW</span><span data-lake-id="u0439fd39" id="u0439fd39">的作用？</span></p>
   <p data-lake-id="ub9e5dc06" id="ub9e5dc06"><span data-lake-id="u7505d977" id="u7505d977">性能优化做过吗？介绍一下，</span><span data-lake-id="u7945ae12" id="u7945ae12">arthas </span><span data-lake-id="u4ddffd2e" id="u4ddffd2e">，优化流程，</span><span data-lake-id="u14faa424" id="u14faa424">CMS</span><span data-lake-id="u8fc9875f" id="u8fc9875f">优化，</span></p>
   <p data-lake-id="u559c03de" id="u559c03de"><span data-lake-id="uaf785905" id="uaf785905">Mysql</span><span data-lake-id="u70eadd13" id="u70eadd13">隔离级别默认是哪个？为啥是</span><span data-lake-id="u20a4a123" id="u20a4a123">RR</span><span data-lake-id="u9d394b01" id="u9d394b01">？</span><span data-lake-id="u8c9c1c34" id="u8c9c1c34">RR</span><span data-lake-id="u8eff6b13" id="u8eff6b13">解决了幻读吗？完全解决了吗？</span></p>
   <p data-lake-id="u1e32f7c8" id="u1e32f7c8"><span data-lake-id="uf6ca5d57" id="uf6ca5d57">RR</span><span data-lake-id="uafe612ae" id="uafe612ae">的缺点是什么？</span><span data-lake-id="u5a9d5aef" id="u5a9d5aef">RR</span><span data-lake-id="uc9933c41" id="uc9933c41">相比</span><span data-lake-id="u324ad299" id="u324ad299">RC</span><span data-lake-id="ufc42a38f" id="ufc42a38f">多了什么？为啥很多大公司要把</span><span data-lake-id="u5db9d710" id="u5db9d710">RR</span><span data-lake-id="u7533a144" id="u7533a144">改成</span><span data-lake-id="u88e3156f" id="u88e3156f">RC</span><span data-lake-id="u6a9b3809" id="u6a9b3809">？</span></p>
   <p data-lake-id="u30b7c139" id="u30b7c139"><span data-lake-id="ueec6dc87" id="ueec6dc87">Mysql</span><span data-lake-id="u51989bf2" id="u51989bf2">的行级锁到底锁的是什么东西？</span></p>
   <p data-lake-id="u2890b0fe" id="u2890b0fe"><span data-lake-id="uda5e3c7c" id="uda5e3c7c">Redis</span><span data-lake-id="ua0752991" id="ua0752991">常用数据结构有哪些？</span><span data-lake-id="ua35647cf" id="ua35647cf">hash</span><span data-lake-id="u4b5b213f" id="u4b5b213f">、</span><span data-lake-id="u43ce63c3" id="u43ce63c3">string</span><span data-lake-id="u7e53e07c" id="u7e53e07c">、</span><span data-lake-id="ub14ead73" id="ub14ead73">set</span><span data-lake-id="u8fa003af" id="u8fa003af">、</span><span data-lake-id="u66efae92" id="u66efae92">zset</span><span data-lake-id="u8e2f12d3" id="u8e2f12d3">、</span><span data-lake-id="u87f62a70" id="u87f62a70">list</span><span data-lake-id="u27647671" id="u27647671">、</span><span data-lake-id="u4ee59a97" id="u4ee59a97">geo</span><span data-lake-id="ucbb4be6c" id="ucbb4be6c">、</span></p>
   <p data-lake-id="uca2de03f" id="uca2de03f"><span data-lake-id="u3f4b3f14" id="u3f4b3f14">Reids</span><span data-lake-id="ue1e4f65a" id="ue1e4f65a">渐进式</span><span data-lake-id="u38a1946f" id="u38a1946f">rehash</span><span data-lake-id="u7072816f" id="u7072816f">过程是怎么样的？为啥要这么干？每次渐进</span><span data-lake-id="ucec242b4" id="ucec242b4">rehash</span><span data-lake-id="u484d05dc" id="u484d05dc">的时候怎么选择</span><span data-lake-id="u42b728c2" id="u42b728c2">rehash</span><span data-lake-id="u07e03612" id="u07e03612">哪些数据呢？</span></p>
   <p data-lake-id="uaadb6fd3" id="uaadb6fd3"><span data-lake-id="ue48e6f82" id="ue48e6f82">为什么</span><span data-lake-id="u1903f8ff" id="u1903f8ff">redis</span><span data-lake-id="u2f68a904" id="u2f68a904">有一批</span><span data-lake-id="ue1d8f718" id="ue1d8f718">key</span><span data-lake-id="u41f7c80d" id="u41f7c80d">过期，为啥其他的</span><span data-lake-id="u9cb2de54" id="u9cb2de54">key</span><span data-lake-id="udf23ba01" id="udf23ba01">读写效率降低？单线程</span></p>
   <p data-lake-id="ub40c80b7" id="ub40c80b7"><span data-lake-id="u028d53b4" id="u028d53b4">如何避免这种问题？被动删除、随机过期时间，</span></p>
   <p data-lake-id="u1af8355f" id="u1af8355f"><span data-lake-id="u10794453" id="u10794453">Redis的集群模式介绍下，主从、哨兵、分片。怎么避免脑裂的问题？能彻底避免吗？</span></p>
  </blockquote>
  <h1 data-lake-id="FChSX" id="FChSX"><span data-lake-id="ubd560f90" id="ubd560f90">题目解析</span></h1>
  <p data-lake-id="u26e467c5" id="u26e467c5"><br></p>
  <blockquote data-lake-id="u6899ae75" id="u6899ae75" class="lake-alert lake-alert-color4">
   <p data-lake-id="ubafa47f5" id="ubafa47f5"><span data-lake-id="u55ff0cbf" id="u55ff0cbf">责任链模式的好处是什么？都哪些场景可以用责任链？</span></p>
  </blockquote>
  <p data-lake-id="u540cf76b" id="u540cf76b"><br></p>
  <p data-lake-id="ua69ad623" id="ua69ad623"><span data-lake-id="u7389be14" id="u7389be14">责任链：</span><a href="https://www.yuque.com/hollis666/vhr2ge/yhmvq8" data-lake-id="u837026b8" id="u837026b8"><span data-lake-id="u54d1cbdf" id="u54d1cbdf">https://www.yuque.com/hollis666/vhr2ge/yhmvq8</span></a></p>
  <p data-lake-id="u8ad5b244" id="u8ad5b244"><br></p>
  <blockquote data-lake-id="u4b89924c" id="u4b89924c" class="lake-alert lake-alert-color4">
   <p data-lake-id="u96b4ed53" id="u96b4ed53"><span data-lake-id="u6305d913" id="u6305d913">开通的分布式一致性怎么保障的？最大努力通知。如果超时的情况如何兼容？</span></p>
   <p data-lake-id="u77456119" id="u77456119"><span data-lake-id="u0a431a8c" id="u0a431a8c">重试是如何实现的？</span><span data-lake-id="u21696dcb" id="u21696dcb">sleep</span><span data-lake-id="ufd4768f9" id="ufd4768f9">？这个过程应用重启了怎么办？</span></p>
   <p data-lake-id="u824c59c6" id="u824c59c6"><span data-lake-id="ua823f866" id="ua823f866">除了</span><span data-lake-id="u497453cc" id="u497453cc">Sleep</span><span data-lake-id="u8762a320" id="u8762a320">还有其他方案吗？回滚操作调失败了怎么办？下游系统失败的原因可能是什么？失败人工介入？</span></p>
   <p data-lake-id="u0527dd0a" id="u0527dd0a"><span data-lake-id="ufc1e96ed" id="ufc1e96ed">最大努力通知为啥不用MQ？遇到什么问题会考虑用MQ？作用？异步、削峰、解耦。</span></p>
  </blockquote>
  <p data-lake-id="u8ab1cefa" id="u8ab1cefa"><br></p>
  <p data-lake-id="uf2b58d01" id="uf2b58d01"><span data-lake-id="u18796983" id="u18796983">这里面候选人提到自己用了最大努力通知，但是实现方式竟然是自己在代码中sleep，然后自己重试，这个方案肯定是不过关的。因为sleep这种一旦应用重启之后，数据就都丢失了，任务就没人继续调度重试了。</span></p>
  <p data-lake-id="u17e082aa" id="u17e082aa"><span data-lake-id="ub20e8874" id="ub20e8874">​</span><br></p>
  <p data-lake-id="u5976fd52" id="u5976fd52"><span data-lake-id="udc8d6b31" id="udc8d6b31">所以好一点的方案肯定是用MQ，依赖他的可靠性来实现。</span></p>
  <p data-lake-id="ua319c850" id="ua319c850"><span data-lake-id="u527bea65" id="u527bea65">​</span><br></p>
  <p data-lake-id="u051f7012" id="u051f7012"><br></p>
  <p data-lake-id="uddca1bb2" id="uddca1bb2"><br></p>
  <p data-lake-id="u15391ecb" id="u15391ecb"><br></p>
  <blockquote data-lake-id="u8be14983" id="u8be14983" class="lake-alert lake-alert-color4">
   <p data-lake-id="u8deecc60" id="u8deecc60"><span data-lake-id="u4221773a" id="u4221773a">MQ是如何实现的削峰填谷？消息投递数量会不会超过消费者的消费能力，pull，push？</span></p>
   <p data-lake-id="u13e09c4c" id="u13e09c4c"><span data-lake-id="u299a199d" id="u299a199d">Pull对MQ造成压力怎么办？拉的很慢消息堆积了怎么办？堆积之后如何解决？增加消费者、</span></p>
  </blockquote>
  <p data-lake-id="u225721e7" id="u225721e7"><br></p>
  <p data-lake-id="u47a2dcd9" id="u47a2dcd9"><br></p>
  <p data-lake-id="ubcde5ccc" id="ubcde5ccc"><br></p>
  <p data-lake-id="uf3d86ae0" id="uf3d86ae0"><br></p>
  <blockquote data-lake-id="u15114998" id="u15114998" class="lake-alert lake-alert-color4">
   <p data-lake-id="u1915e1b2" id="u1915e1b2"><span data-lake-id="u9e26434a" id="u9e26434a">Kafka的重平衡问题介绍下？重平衡的过程是怎么样？重平衡过程的问题有哪些？STW，重复消费。</span></p>
   <p data-lake-id="u6be4258f" id="u6be4258f"><br></p>
  </blockquote>
  <p data-lake-id="u51909a3f" id="u51909a3f"><br></p>
  <p data-lake-id="u3365131d" id="u3365131d"><br></p>
  <blockquote data-lake-id="u44c4ae9e" id="u44c4ae9e" class="lake-alert lake-alert-color4">
   <p data-lake-id="ubb32580d" id="ubb32580d"><span data-lake-id="u575de485" id="u575de485">如何避免重复消费对业务造成影响？</span></p>
   <p data-lake-id="u199f1b6c" id="u199f1b6c"><br></p>
  </blockquote>
  <p data-lake-id="u7a57a862" id="u7a57a862"><br></p>
  <p data-lake-id="u0eaa9298" id="u0eaa9298"><br></p>
  <blockquote data-lake-id="udb136d31" id="udb136d31" class="lake-alert lake-alert-color4">
   <p data-lake-id="u0751549c" id="u0751549c"><span data-lake-id="u73b63189" id="u73b63189">Kafka</span><span data-lake-id="uafda78b3" id="uafda78b3">的消费者可能有哪些状态？</span><span data-lake-id="u8c2420a9" id="u8c2420a9">kafka</span><span data-lake-id="ud66f83ba" id="ud66f83ba">的高水位是什么？</span><span data-lake-id="ueba28dd6" id="ueba28dd6">LEO</span></p>
   <p data-lake-id="u0ecefe16" id="u0ecefe16"><span data-lake-id="u888e7b94" id="u888e7b94">一句话总结HW的作用？</span></p>
  </blockquote>
  <p data-lake-id="u58372a5c" id="u58372a5c"><br></p>
  <p data-lake-id="uc21045ce" id="uc21045ce"><br></p>
  <blockquote data-lake-id="u7e02199a" id="u7e02199a" class="lake-alert lake-alert-color4">
   <p data-lake-id="u07d0743f" id="u07d0743f"><span data-lake-id="u765278bd" id="u765278bd">性能优化做过吗？介绍一下，</span><span data-lake-id="ucfa466ba" id="ucfa466ba">arthas </span><span data-lake-id="u357469cd" id="u357469cd">，优化流程，</span><span data-lake-id="u6bb2255b" id="u6bb2255b">CMS</span><span data-lake-id="uf8f6d2bd" id="uf8f6d2bd">优化，</span></p>
   <p data-lake-id="uef789a7f" id="uef789a7f"><br></p>
  </blockquote>
  <p data-lake-id="u9295ac88" id="u9295ac88"><br></p>
  <p data-lake-id="u01e49d86" id="u01e49d86"><br></p>
  <blockquote data-lake-id="u3aa26a5d" id="u3aa26a5d" class="lake-alert lake-alert-color4">
   <p data-lake-id="u932f8213" id="u932f8213"><span data-lake-id="u0beccaf9" id="u0beccaf9">Mysql</span><span data-lake-id="u24634d48" id="u24634d48">隔离级别默认是哪个？为啥是</span><span data-lake-id="u592fd78c" id="u592fd78c">RR</span><span data-lake-id="uc7fa20ff" id="uc7fa20ff">？</span><span data-lake-id="u33335f88" id="u33335f88">RR</span><span data-lake-id="ua85c0672" id="ua85c0672">解决了幻读吗？完全解决了吗？</span></p>
   <p data-lake-id="u0733249c" id="u0733249c"><br></p>
  </blockquote>
  <p data-lake-id="ua635b217" id="ua635b217"><br></p>
  <p data-lake-id="u6569f829" id="u6569f829"><br></p>
  <blockquote data-lake-id="u8fe2e104" id="u8fe2e104" class="lake-alert lake-alert-color4">
   <p data-lake-id="u838b738e" id="u838b738e"><span data-lake-id="u03e01ab0" id="u03e01ab0">RR的缺点是什么？RR相比RC多了什么？为啥很多大公司要把RR改成RC？</span></p>
  </blockquote>
  <p data-lake-id="u33eddb66" id="u33eddb66"><br></p>
  <p data-lake-id="u271a46ef" id="u271a46ef"><br></p>
  <p data-lake-id="u1cad26e5" id="u1cad26e5"><br></p>
  <blockquote data-lake-id="ubf9741c4" id="ubf9741c4" class="lake-alert lake-alert-color4">
   <p data-lake-id="ub4b913b0" id="ub4b913b0"><span data-lake-id="ua6743cf2" id="ua6743cf2">Mysql的行级锁到底锁的是什么东西？</span></p>
  </blockquote>
  <p data-lake-id="u5c788f84" id="u5c788f84"><br></p>
  <p data-lake-id="uc61f7a08" id="uc61f7a08"><br></p>
  <blockquote data-lake-id="u79a88a63" id="u79a88a63" class="lake-alert lake-alert-color4">
   <p data-lake-id="uea5f04c3" id="uea5f04c3"><span data-lake-id="u0871f841" id="u0871f841">Redis常用数据结构有哪些？hash、string、set、zset、list、geo、</span></p>
  </blockquote>
  <p data-lake-id="uc79800c2" id="uc79800c2"><br></p>
  <p data-lake-id="ub08d9a53" id="ub08d9a53"><br></p>
  <blockquote data-lake-id="u66d09867" id="u66d09867" class="lake-alert lake-alert-color4">
   <p data-lake-id="u32846c91" id="u32846c91"><span data-lake-id="uc96d445b" id="uc96d445b">Reids渐进式rehash过程是怎么样的？为啥要这么干？每次渐进rehash的时候怎么选择rehash哪些数据呢？</span></p>
  </blockquote>
  <p data-lake-id="u1f6eb851" id="u1f6eb851"><br></p>
  <p data-lake-id="ud2fbf975" id="ud2fbf975"><br></p>
  <blockquote data-lake-id="u32653d4e" id="u32653d4e" class="lake-alert lake-alert-color4">
   <p data-lake-id="uce457f2a" id="uce457f2a"><span data-lake-id="u7997ca2d" id="u7997ca2d">为什么</span><span data-lake-id="ua78707ca" id="ua78707ca">redis</span><span data-lake-id="u593fa009" id="u593fa009">有一批</span><span data-lake-id="u8681947a" id="u8681947a">key</span><span data-lake-id="uec5f7946" id="uec5f7946">过期，为啥其他的</span><span data-lake-id="uad4a8786" id="uad4a8786">key</span><span data-lake-id="u9803e5fe" id="u9803e5fe">读写效率降低？单线程</span></p>
   <p data-lake-id="u0d09015b" id="u0d09015b"><span data-lake-id="ud1d74e6a" id="ud1d74e6a">如何避免这种问题？被动删除、随机过期时间，</span></p>
  </blockquote>
  <p data-lake-id="ua7391278" id="ua7391278"><br></p>
  <p data-lake-id="uc37857d5" id="uc37857d5"><br></p>
  <p data-lake-id="uc5ee841e" id="uc5ee841e"><br></p>
  <blockquote data-lake-id="ubd2a7d8c" id="ubd2a7d8c" class="lake-alert lake-alert-color4">
   <p data-lake-id="u491b0ead" id="u491b0ead"><span data-lake-id="u35272168" id="u35272168">Redis的集群模式介绍下，主从、哨兵、分片。怎么避免脑裂的问题？能彻底避免吗？</span></p>
  </blockquote>
  <p data-lake-id="u7ddd2c96" id="u7ddd2c96"><br></p>
 </body>
</html>